Cevapları Console'da deneyin:
Bütün değişkenler tanımlandı

Q1 Numeric objects


"502" benim için sürpriz oldu!
Diğer makul cevapları da kabul ettim

Q2 Array vs Map


c) Map is faster -- indexed search

d) Simplify:
   data.map((a, i) => createHTML(a, i))
   data.map(createHTML) //no new function
Farkı hissetmek için milyonlarca nokta gerekir

Q3 Fat arrow

a) mix = (a, b, t) => (1-t)*a + t*b

b) mix(a, b, 1/2) is the same as (a+b)/2

c)
a, b iki sayı -- p1, p2 iki nokta
(c) şıkkında mix kullanmak gerekliydi

Q4 URL parts

a) Should work for any address:
u='http://enesbek.github.io/305/sw.js'
            user           repo  file

b)
Başka çözümler de var ama bu çok zarif!

Q5 Array

a = [11, 23, 5, 2, 7]
a.size // undefined
a.length // 5
a.map(x => x+1) // [12, 24, 6, 3, 8]
a.filter(x => x<10) // [5, 2, 7]
a.sort((a,b) => a-b) // [2, 5, 7, 11, 23]
Bu soruyu hemen herkes doğru yapmış

Q6 await vs then

async/await:
  let r = await fetch(u)
  let s = await r.clone().text()
  let b = await r.json()

a) Types:
string: u, s
Promise: fetch(u), r.json()
Response: r, r.clone()
b could be of any type

b) s is not equal to JSON.stringify(b)
because s contains an extra char at the end:
s.startsWith(JSON.stringify(b,'',2)) is true

c) 
Soruda a yazıyor, diğer a ile karışmasın diye bunu b yaptım

Q7 Diagrams

a) 
evt = {type:'click', id:16, pos:{lat:40.4321, lng:29.1648}} //Event
prov = {id:16, name:'Bursa', loc:{lat:40.19, lng:29.08}} //Province
coord = {lat:40.43, lon:29.16, time:1610975923, zone:3}  //Location
w = {id:746, name:"Gemlik", temp:-2, coord, main:"Clear"}  //Object
class isimleri de önemli, oklar da...
b) instead of evt.pos, use prov.loc

Q8 DOM

  <body>
    <h2>Final exam</h2>
    <hr>
    <div>
      <p>8 questions</p>
      <p>60 minutes</p>
    </div>
  </body>
Sayfanın nasıl göründüğü de sorulmuştu